package jp.seraph.jsade.model;

/**
 * 複数のModelObjectを表すインターフェースです。
 *
 *
 */
public interface ObjectCollection extends ModelObject, Iterable<ModelObject> {
    /**
     * このコレクションが何個のModelObjectを表しているかを返す。
     *
     * @return
     */
    public int getObjectCount();

    /**
     * 対象の名前を持つModelObjectを返す。
     * 該当するオブジェクトが存在しない場合 null
     *
     * @param aName
     * @return 対象の名前を持つオブジェクト
     */
    public ModelObject getObject(String aName);

    /**
     * aIndex番目のオブジェクトを返す。<br>
     * aIndexは0始まり。
     *
     * @param aIndex
     * @return aIndex番目のオブジェクト
     */
    public ModelObject getObject(int aIndex);
}
